dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
↳ QTRS
↳ Non-Overlap Check
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
INDX2(cons2(X, Y), Z) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBL1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBLS1(Y)
DBL1(s1(X)) -> DBL1(X)
FROM1(X) -> FROM1(s1(X))
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
INDX2(cons2(X, Y), Z) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBL1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBLS1(Y)
DBL1(s1(X)) -> DBL1(X)
FROM1(X) -> FROM1(s1(X))
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FROM1(X) -> FROM1(s1(X))
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
[INDX1, cons1]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
DBL1(s1(X)) -> DBL1(X)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
DBL1(s1(X)) -> DBL1(X)
s1 > DBL1
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
DBLS1(cons2(X, Y)) -> DBLS1(Y)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
DBLS1(cons2(X, Y)) -> DBLS1(Y)
cons2 > DBLS1
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl1(0)
dbl1(s1(x0))
dbls1(nil)
dbls1(cons2(x0, x1))
sel2(0, cons2(x0, x1))
sel2(s1(x0), cons2(x1, x2))
indx2(nil, x0)
indx2(cons2(x0, x1), x2)
from1(x0)